package controleur;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import application.Consts;

import modele.CKModel;
import vue.PanelCK;
import vue.PanelText;
import vue.VueEditeurCK;

public class ControleGT implements ActionListener{
	
	private CKModel<String, String> _modele;
	private VueEditeurCK _vue;
	
	public ControleGT(CKModel<String, String> modele, VueEditeurCK vue){
		_modele = modele;
		_vue = vue;
	}

	public void actionPerformed(ActionEvent e) {
		if(_vue.getViewMode().getText().compareTo("Passer en mode texte") == 0){
			
			_vue.getViewMode().setText("Passer en mode graph");
			_vue.setVisuMode(Consts.VisualizationMode.TEXT);
			
			PanelText pnlT = new PanelText(_modele, _vue);
			 _vue.setPanelT(pnlT);
			 
			 _vue.getEditorFrame().remove(_vue.getPanelCK());
			 _vue.getEditorFrame().add(_vue.getPanelT(), BorderLayout.CENTER);
			 
			 _vue.getEditorFrame().paint(_vue.getEditorFrame().getGraphics());
				_vue.dessiner();
		}
		
		else {
			_vue.getViewMode().setText("Passer en mode texte");
			_vue.setVisuMode(Consts.VisualizationMode.GRAPH);

			PanelCK pnlCK = new PanelCK(_modele, _vue);
			 _vue.setPanelCK(pnlCK);
			 
			 _vue.getEditorFrame().remove(_vue.getPanelT());
			 _vue.getEditorFrame().add(_vue.getPanelCK(), BorderLayout.CENTER);
			 
			 _vue.getEditorFrame().paint(_vue.getEditorFrame().getGraphics());
				_vue.dessiner();
			 
			
		}
		
	}

}
